﻿//#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>
//
//union Un
//{
//    char i;
//    int a;
//};
//
//int main()
//{
//    union Un u;
//    printf("%d\n", sizeof(u));
//    printf("%p\n", &u);
//    printf("%p\n", &(u.i));
//    printf("%p\n", &(u.a));
//    return 0;
//}
//
//#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>
//
//union Un
//{
//    char c;
//    int i;
//};
//
//int main()
//{
//    union Un un;
//     下面输出的结果是一样的吗？
//    printf("%p\n", &(un.i));
//    printf("%p\n", &(un.c));
//    下面输出的结果是什么？
//    un.i = 0x11223344;
//    un.c = 0x55;
//    printf("%x\n", un.i);
//}
//#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>
//
//union Un
//{
//    char arr[5];  //5   对齐数为1
//    int i;  //4  对齐数为4
//};
//
//int main()
//{
//    printf("%d\n", sizeof(union Un));
//    return 0;
//}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

union Un
{
    short s[7];  //14   最大成员大小为14字节
    int n;   //4   最大对齐数为4字节
};

int main()
{
    printf("%d\n", sizeof(union Un));
    return 0;
}